import { apiClient } from 'axiom-view';

/**
 * @description 知识库搜索相关的API
 */
export const knowledgeSearchApi = {
  /**
   * 获取所有可用的查询策略
   * @returns {Promise<ApiResponse<QueryStrategyInfoVO[]>>}
   */
  getStrategies() {
    return apiClient.get('/knowledge-search/strategies');
  },

  /**
   * 获取指定查询策略的详细配置
   * @param {string} strategyName - 策略的唯一名称 (如 'ACCURACY_FIRST')
   * @returns {Promise<ApiResponse<KnowledgeQueryDTO>>}
   */
  getStrategyConfig(strategyName) {
    return apiClient.get(`/knowledge-search/strategies/${strategyName}`);
  },

  /**
   * 获取所有可用的重排模型配置
   * @returns {Promise<ApiResponse<RerankerProfileVO[]>>}
   */
  getRerankerProfiles() {
    return apiClient.get('/knowledge-search/reranker-profiles');
  },

  /**
   * 执行调试查询（返回详细信息）
   * @param {KnowledgeSearchDTO} data - 查询参数
   * @returns {Promise<ApiResponse<QueryDebugResponseVO>>}
   */
  searchDebug(data) {
    return apiClient.post('/knowledge-search/debug', data);
  },

  /**
   * 执行生产查询（返回简洁上下文）
   * @param {KnowledgeSearchDTO} data - 查询参数
   * @returns {Promise<ApiResponse<QueryContextResultVO[]>>}
   */
  searchContext(data) {
    return apiClient.post('/knowledge-search/context', data);
  },
}; 